From: Jonas Ã…dahl Date: Fri, 1 Dec 2017 08:03:34 +0000 (+0800) Subject: wayland: Destroy the xdg_imported after the wl_surface X-Git-Tag: archive/raspbian/3.24.39-1+rpi1~1^2~65^2~38^2~131 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/success/%22http:/www.example.com/cgi/success?a=commitdiff_plain;h=25dc32c1a1bb9d0786e0a636659c4c2c5c8d0d0e;p=gtk%2B3.0.git wayland: Destroy the xdg_imported after the wl_surface This way the window manager can handle destruction while having the transient-for relationship still valid. https://bugzilla.gnome.org/show_bug.cgi?id=791062 --- diff --git a/gdk/wayland/gdkwindow-wayland.c b/gdk/wayland/gdkwindow-wayland.c index 0429ee5f54..9ee4fe2be4 100644 --- a/gdk/wayland/gdkwindow-wayland.c +++ b/gdk/wayland/gdkwindow-wayland.c @@ -2516,8 +2516,6 @@ gdk_wayland_window_hide_surface (GdkWindow *window) GdkWaylandDisplay *display_wayland = GDK_WAYLAND_DISPLAY (gdk_window_get_display (window)); GdkWindowImplWayland *impl = GDK_WINDOW_IMPL_WAYLAND (window->impl); - unset_transient_for_exported (window); - unmap_popups_for_window (window); if (impl->display_server.wl_surface) @@ -2599,6 +2597,8 @@ gdk_wayland_window_hide_surface (GdkWindow *window) g_list_remove (display_wayland->orphan_dialogs, window); } + unset_transient_for_exported (window); + _gdk_wayland_window_clear_saved_size (window); impl->pending_commit = FALSE; impl->mapped = FALSE;